package com.ctsi.ftp.util;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

public class GzUtil {
	public static byte[] gZip(byte[] data, int len) {  
		byte[] b = null;  
		try {  
		ByteArrayOutputStream bos = new ByteArrayOutputStream();  
		GZIPOutputStream gzip = new GZIPOutputStream(bos);  
//		gzip.write(data);  
		gzip.write(data, 0, len);
		gzip.finish();  
		gzip.close();  
		b = bos.toByteArray();  
		bos.close();  
		} catch (Exception ex) {  
		ex.printStackTrace();  
		}  
		return b;  
		}  
		/*** 
		* 解压GZip 
		*  
		* @param data 
		* @return 
		*/  
		public static byte[] unGZip(byte[] data) {  
		byte[] b = null;  
		try {  
		ByteArrayInputStream bis = new ByteArrayInputStream(data);  
		GZIPInputStream gzip = new GZIPInputStream(bis);  
		byte[] buf = new byte[1024];  
		int num = -1;  
		ByteArrayOutputStream baos = new ByteArrayOutputStream();  
		while ((num = gzip.read(buf, 0, buf.length)) != -1) {  
		baos.write(buf, 0, num);  
		}  
		b = baos.toByteArray();  
		baos.flush();  
		baos.close();  
		gzip.close();  
		bis.close();  
		} catch (Exception ex) {  
		ex.printStackTrace();  
		}  
		return b;  
		}  
}
